#include "head.h"


	Split_Node_NDMR::Split_Node_NDMR(){}
	Split_Node_NDMR::Split_Node_NDMR(Object* o, bool flag){
		this->o=o;
		this->flag=flag;
	}
	void Split_Node_NDMR::set_flag(){
		flag=true;
	}
	




	
	ESN_NDMR::ESN_NDMR(){}
	ESN_NDMR::ESN_NDMR(Object* o, bool flag, Edge* e, float distance, bool desc_direction):Split_Node_NDMR(o, flag){
		this->e=e;
		this->distance=distance;
		this->desc_direction;
	}
	bool ESN_NDMR::operator <(ESN_NDMR esn){
		return (this->distance < esn.distance);
	}
	bool ESN_NDMR::operator >(ESN_NDMR esn){
		return (this->distance>=esn.distance);
	}

	


	

	VSN_NDMR::VSN_NDMR(){}
	VSN_NDMR::VSN_NDMR(Object* o, bool flag, Vertex* v):Split_Node_NDMR(o, flag){
		this->v=v;
	}
	
	void VSN_NDMR::insert_ascset(Edge* e){
        asc_set.push_back(e);
	}
	
	void VSN_NDMR::insert_descset(Edge* e){
		desc_set.push_back(e);
	}
	
	void VSN_NDMR::change_asc_to_desc(Edge* e){
		desc_set.push_back(e);
		asc_set.remove(e);
	}